package mysql8学习.高级.第01章_Linux下MySQL的安装与使用;

/**
 * 1. utf8 与 utf8mb4
 *  utf8 字符集表示一个字符需要使用 1-4个字符，
 *   但是常用的一些字符使用的1-3个字节就可以表示了。
 *   而字符集表示一个字符所用最大字节长度，
 *   在某些方面会影响系统的存储和性能，
 *   所以设计 MySQL 的设计师偷偷的定义了两个概念：
 *      utf8mb3:阉割版的 utf8 字符集，只是用 1-3 个字节表示字符
 *      utf8mb4:正宗的的 utf8 字符集，只是用 1-4 个字节表示字符
 *
 *   在 MySQL 中 utf8 是 utf8mb3 的别名，
 *   所以在MySQL中提到 utf8 就意味着使用1-3个字节表示一个字符。
 *   如果大家有使用4字节的编码一个字符的情况表，
 *   比如存储一些 emoji表情， 那就是用 utf8mb4
 *
 * SHOW CHARSET; // 查看 MySQL 支持字符集
 * SHOW CHARSET SET;// 查看 MySQL 支持字符集
 * 字符集    说明     比较规则     最大字节数
 *
 * 比较规则 比如排序，等等
 *      如 gn2312_chinese_ci
 *
 *
 * _ai   accent insensitive   不区分重音
 * _as   accent sensitive     区分重音
 * _ci   case insensitive     不区分大小写
 * _cs   case sensitive       区分大小写
 * _bin  binary               以二进制方式比较
 *
 * 查看 GBK 字符集的比较规则
 * SHOW COLLATION LIKE 'gbk%'
 *
 * 查看服务器的字符集和比较规则
 * SHOW VARIABLES LIKE '%_server'
 *
 * 查看 数据库/表  的字符集和比较规则
 * SHOW VARIABLES LIKE '%_database'
 * SHOW TABLE STATUE FROM 数据库名 LIKE '表名 或对表名进行模糊查询'
 *
 * 查看具体 数据库/表 的字符集
 * SHOW CREATE DATABASE 数据库名;
 * SHOW CREATE  TABLE  表名;
 *
 * 修改指定数据库的字符集
 * ALTER DATABASE 数据库 DEFAULT CHARACTER SET 'utf8'
 *                      COLLATE 'utf8_general_ci'
 * 修改指定表的字符集
 * ALTER TABLE 表名 DEFAULT CHARACTER SET 'utf8'
 *                  COLLATE 'utf8_general_ci'
 *
 * utf8_unicode_ci 和 ut8_general_ci 对中、英文来说没有实质的差别。
 * utf8_general_ci 校对速度快，但准确度稍差。
 * utf8_unicode_ci 准确度高，但校对速度稍慢。
 *
 * 说明1：
 * 般情况，用utf8_ general _ci就够了，
 *      但如果你的应用有德语、法语或者俄语，请一定使用utf8_unicode_ci
 *
 * 说明2：
 * 修改了数据库的默认字符集和比较规则后，原来已经创建的表格的字符集和比较规则并不会改变，
 * 如果需要，那么需单独修改。
 *
 *
 */
public class K_字符集介绍 {
}
